perl: add metacpan.mk download helper
authorJens Wagner <[email protected]>
Sun, 15 Jun 2025 15:34:59 +0000 (17:34 +0200)
committerJosef Schlehofer <[email protected]>
Sun, 6 Jul 2025 14:21:08 +0000 (16:21 +0200)
Resemble the package handling of python modules
MetaCPAN is to Perl, what PyPI is to Pyhton

Signed-off-by: Jens Wagner <[email protected]>
lang/perl/metacpan.mk [new file with mode: 0644]

diff --git a/lang/perl/metacpan.mk b/lang/perl/metacpan.mk
new file mode 100644 (file)
index 0000000..8e0690a
--- /dev/null
@@ -0,0 +1,21 @@
+ifndef DUMP
+  ifdef __package_mk
+    $(warning metacpan.mk should be included before package.mk)
+  endif
+endif
+
+ifneq ($(strip $(METACPAN_NAME)),)
+  ifneq ($(strip $(METACPAN_AUTHOR)),)
+    METACPAN_SOURCE_NAME?=$(METACPAN_NAME)
+    METACPAN_SOURCE_EXT?=tar.gz
+    METACPAN_AUTHOR_FIRST_LETTER?=$(strip $(foreach a,A B C D E F G H I J K L M N O P Q R S T U V W X Y Z,$(if $(METACPAN_AUTHOR:$a%=),,$a)))
+    METACPAN_AUTHOR_SECOND_LETTER?=$(strip $(foreach a,A B C D E F G H I J K L M N O P Q R S T U V W X Y Z,$(if $(METACPAN_AUTHOR:$(METACPAN_AUTHOR_FIRST_LETTER)$a%=),,$a)))
+
+    PKG_SOURCE:=$(METACPAN_SOURCE_NAME)-$(PKG_VERSION).$(METACPAN_SOURCE_EXT)
+    PKG_SOURCE_URL:=https://cpan.metacpan.org/authors/id/$(METACPAN_AUTHOR_FIRST_LETTER)/$(METACPAN_AUTHOR_FIRST_LETTER)$(METACPAN_AUTHOR_SECOND_LETTER)/$(METACPAN_AUTHOR)
+
+    PKG_BUILD_DIR:=$(BUILD_DIR)/perl/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT)/)$(METACPAN_SOURCE_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
+    HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/perl/$(METACPAN_SOURCE_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
+  endif
+endif
+